   
    //尾递归
    function fbnq3(n,ac1=1){
       if(n===0){
        return ac1;
       }
       return fbnq3(n-1,ac1*n);
    }
   
     //循环
     function fbnq(n){
        if (n === 0) {
            return 1;
        }
        let result = 1;
          for (let i = 1; i <= n; i++) {
            result *= i;
          }  
          return result;
    }
     //递归
     function fbnq2(n){
        if(n===0){
         return 1;
        }
        return n*fbnq2(n-1);
     }
let start=new Date().getTime();
let val=fbnq2(5);//用递归计算5的阶乘
console.log(val);
let end=new Date().getTime();
console.log("程序的运行时间: "+(end-start)+"ms");

// function bibao(x){
//     return function(y){
//         return x+y;
//     }
// }
// //第一种
// let t=bibao(5);
// console.log(t(3));//8
// //第二种
// console.log(bibao(5)(3));//8
